package agenti;

import jade.core.AID;
import jade.core.Agent;
import jade.core.behaviours.Behaviour;
import jade.lang.acl.ACLMessage;

import java.io.IOException;
import java.util.Vector;

public class AgenteRestart extends Agent {

	boolean produttore;
	Vector parametri;

	@Override
	protected void setup() {
		super.setup();
		Object[] par = getArguments();
		produttore = (Boolean) par[0];
		parametri = (Vector) par[1];
		addBehaviour(new Restart());
	}

	private class Restart extends Behaviour {

		@Override
		public void action() {

			ACLMessage msg = new ACLMessage(ACLMessage.REQUEST);
			msg.setContent("r");
			try {
				msg.setContentObject(parametri);
			} catch (IOException e) {
				e.printStackTrace();
			}
			if (produttore) {
				msg.addReceiver(new AID("Produttore", AID.ISLOCALNAME));
			} else {
				msg.addReceiver(new AID("Consumatore", AID.ISLOCALNAME));
			}
			send(msg);
		}

		@Override
		public boolean done() {
			doDelete();
			return false;
		}

	}
}
